home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
tegl6b.zip
/
INTROPAK.EXE
/
lha
/
TEGLMAIN.DOC
< prev
next >
Wrap
Text File
|
1991-08-16
|
11KB
|
303 lines
{-----------------------------------------------------------------------------}
{ TEGL Windows ToolKit II }
{ Copyright (C) 1990, 1991 TEGL Systems Corporation }
{ All Rights Reserved. }
{-----------------------------------------------------------------------------}
{$I switches.inc}
unit TEGLMain;
INTERFACE
USES
crt,
errorlog,
videochk,
virtmem,
ipstacks,
teglintr,
tgi,
fastgrph,
teglfont,
teglunit,
TEGLIcon, {large button}
{$IFDEF Quick}
TGraph;
{$ELSE}
{$IFDEF NoGr}
TGraph;
{$ELSE}
Graph;
{$ENDIF}
{$ENDIF}
Type
TEGLConstants = Record
TEGLBackColor : Word;
TEGLBorderColor : Word;
TEGLBackPattern : FillPatternType;
TEGLBorderShow : Boolean;
TEGLUserPattern : Boolean;
TEGLFillStyle : Word;
ShadowColor : Word;
ShadowBorderColor : Word;
ShadowFillPattern : FillPatternType;
ShadowUserPattern : Boolean;
ShadowFillStyle : Word;
ShadowTextType : Pointer;
DefaultTextHighlight : Boolean;
DefaultTextHColor : Word;
DefaultTextSColor : Word;
ShadowTextMode : Boolean;
ExtendTextHColor : Word;
ExtendTextSColor : Word;
ExtendTextColor : Word;
ShiftTextColor : Word;
ShiftTextSColor : Word;
ZipDuration : Word;
end;
CONST
EnableControlBreak : Boolean = TRUE;
StandardFont : pointer = NIL;
beepstatus : Boolean = TRUE;
BeepDivisor : Word = 1;
PressButtonFlag : Boolean = TRUE; {allows visual button press}
{11111111 $FF
10001000 $88
10001000 $88
10001000 $88
11111111 $FF
10001000 $88
10001000 $88
10001000 $88}
gridfill : FillPatternType = ($FF, $88, $88, $88, $FF, $88, $88, $88);
BWTranslateTable : array[0..15] of byte =
($00, {Black }
$00, {Blue }
$00, {Green }
$00, {Cyan }
$00, {Red }
$00, {Magenta }
$00, {Brown }
$ff, {LightGray }
$00, {DarkGray }
$ff, {LightBlue }
$ff, {LightGreen }
$ff, {LightCyan }
$00, {LightRed }
$ff, {LightMagenta}
$aa, {Yellow }
$ff); {White }
C256TranslateTable : array[0..255] of byte =
(
0,1,2,3,4,5,200,7,56,57,58,59,60,61,62,63,
$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$1A,$1B,$1C,$1D,$1E,$1F,
$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$2A,$2B,$2C,$2D,$2E,$2F,
$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$3A,$3B,$3C,$3D,$3E,$3F,
$40,$41,$42,$43,$44,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E,$4F,
$50,$51,$52,$53,$54,$55,$56,$57,$58,$59,$5A,$5B,$5C,$5D,$5E,$5F,
$60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6A,$6B,$6C,$6D,$6E,$6F,
$70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$7A,$7B,$7C,$7D,$7E,$7F,
$80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8A,$8B,$8C,$8D,$8E,$8F,
$90,$91,$92,$93,$94,$95,$96,$97,$98,$99,$9A,$9B,$9C,$9D,$9E,$9F,
$A0,$A1,$A2,$A3,$A4,$A5,$A6,$A7,$A8,$A9,$AA,$AB,$AC,$AD,$AE,$AF,
$B0,$B1,$B2,$B3,$B4,$B5,$B6,$B7,$B8,$B9,$BA,$BB,$BC,$BD,$BE,$BF,
$C0,$C1,$C2,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$CB,$CC,$CD,$CE,$CF,
$D0,$D1,$D2,$D3,$D4,$D5,$D6,$D7,$D8,$D9,$DA,$DB,$DC,$DD,$DE,$DF,
$E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7,$E8,$E9,$EA,$EB,$EC,$ED,$EE,$EF,
$F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF
);
{*------------------------------------------------------------------------*
| TEGL Graphic constants |
*------------------------------------------------------------------------*}
TG : TEGLConstants =
(TEGLBackColor : white;
TEGLBorderColor : white;
TEGLBackPattern : ($AA,$55,$AA,$55,$AA,$55,$AA,$55);
TEGLBorderShow : TRUE;
TEGLUserPattern : TRUE;
TEGLFillStyle : Solidfill;
ShadowColor : white;
ShadowBorderColor : black;
ShadowFillPattern : ($AA,$55,$AA,$55,$AA,$55,$AA,$55);
ShadowUserPattern : FALSE;
ShadowFillStyle : Solidfill;
ShadowTextType : NIL;
DefaultTextHighlight : FALSE;
DefaultTextHColor : White;
DefaultTextSColor : Black;
ShadowTextMode : TRUE;
ExtendTextHColor : Black;
ExtendTextSColor : LightGray;
ExtendTextColor : White;
ShiftTextColor : White;
ShiftTextSColor : Black;
ZipDuration : 18
);
HERC_TG : TEGLConstants =
{$IFDEF NoGr}
(TEGLBackColor : white;
{$ELSE}
(TEGLBackColor : black;
{$ENDIF}
TEGLBorderColor : white;
TEGLBackPattern : ($AA,$55,$AA,$55,$AA,$55,$AA,$55);
TEGLBorderShow : TRUE;
TEGLUserPattern : TRUE;
TEGLFillStyle : Solidfill;
ShadowColor : white;
ShadowBorderColor : black;
ShadowFillPattern : ($AA,$55,$AA,$55,$AA,$55,$AA,$55);
ShadowUserPattern : FALSE;
ShadowFillStyle : Solidfill;
ShadowTextType : NIL;
DefaultTextHighlight : FALSE;
DefaultTextHColor : White;
DefaultTextSColor : Black;
ShadowTextMode : TRUE;
ExtendTextHColor : Black;
ExtendTextSColor : White;
ExtendTextColor : Black;
ShiftTextColor : White;
ShiftTextSColor : Black;
ZipDuration : 25
);
{*------------------------------------------------------------------------*
| Integrated TEGL Easy Module |
*------------------------------------------------------------------------*}
Procedure ActiveButton(x,y: Word; s : String; p : CallProc);
Function ColToX(Col : Integer) : Integer;
Procedure ErrMess(x,y : Word; S : String);
Procedure FitFrame(VAR x,y,width,height : Word);
Procedure FrameFromIcon(ifs: ImageStkPtr; ms : MsClickPtr; x,y,x1,y1: Word);
Procedure FrameText(VAR ifs : ImageStkPtr; Row,Col: Integer; s : String);
Function GetMousey(ifs : ImageStkPtr): Word;
Function GetYesNo(x,y : Word; S : String): Boolean;
Procedure EasyTEGL;
Procedure EasyOut;
Function Quit(Frame:ImageStkPtr; MouseClickPos: MsClickPtr):Word;
Procedure QuickFrame(VAR ifs : ImageStkPtr; x,y,width,height : Word);
Procedure OutFrameTextXY(ifs : ImageStkPtr; x,y : Word; s : String);
Procedure RestoreText;
Function RowToY(Row : Integer) : Integer;
Procedure SelectEasyText;
Procedure SetEasyFont(p : Pointer);
{*------------------------------------------------------------------------*
| Shadowed Box routines |
*------------------------------------------------------------------------*}
Procedure SetShadowColor(bcolor:Word);
Procedure SetShadowBorderColor(bcolor:Word);
Procedure SetShadowFillPattern(backpattern:FillPatternType);
Procedure SetShadowFillStyle(pattern:Word);
Procedure ShadowBox(x,y,x1,y1 : Word);
Procedure ShadowText(x,y,Color:Word; textstr:String);
Procedure SetShadowTextType(texttype:Pointer);
Procedure SetShadowTextShadow(Color:Word);
Procedure SetShadowTextHighlight(Color:Word);
Procedure ShadowTextHighlightOFF;
Procedure SetShadowTextMode(ModeOnOff:boolean);
Procedure ShadowBoxText(x,y,txtlen:Word; textstr:String);
Procedure SetExtendTextHighlight(Color:word);
Procedure SetExtendTextShadow(Color:word);
Procedure SetExtendTextColor(Color:word);
Procedure ExtendTextXY(x,y:Word; msg:String);
Procedure ShiftTextXY(x,y:Word; msg:String);
{*------------------------------------------------------------------------*
| TEGL Initialization routines |
*------------------------------------------------------------------------*}
Procedure SetTEGLBorderShow(BorderShow:Boolean);
Procedure SetTEGLBackColor(BackColor:Word);
Procedure SetTEGLBorderColor(BorderColor:Word);
Procedure SetTEGLFillPattern(backpattern:FillPatternType);
Procedure SetTEGLFillStyle(pattern:Word);
Procedure ClearTEGLScreen;
{*------------------------------------------------------------------------*
| Xorbox routines |
*------------------------------------------------------------------------*}
Procedure MoveBox(ax,ay,x,y,x1,y1 : Integer);
Procedure ZipToBox(ax,ay,ax1,ay1,x,y,x1,y1 : Integer);
Procedure ZipFromBox(ax,ay,ax1,ay1,x,y,x1,y1 : Integer);
{*------------------------------------------------------------------------*
| Explode and collapse |
*------------------------------------------------------------------------*}
Procedure ExplodeFromIconHide(Frame:ImageStkPtr; MouseClickPos: MsClickPtr; x,y,x1,y1:Word);
Procedure ExplodeFromMsClick(Frame:ImageStkPtr; MouseClickPos: MsClickPtr; x,y,x1,y1:Word);
Function CollapseToMsClick(fs:ImageStkPtr; MouseClickPos: MsClickPtr):Word;
Function CollapseToIconShow(fs:ImageStkPtr; MouseClickPos: MsClickPtr):Word;
{*------------------------------------------------------------------------*
| Misc |
*------------------------------------------------------------------------*}
Procedure PressButton(fs:ImageStkPtr; ms:MsClickPtr);
Procedure ReleaseButton(fs:ImageStkPtr; ms:MsClickPtr);
Function VisualButtonPress(fs:ImageStkPtr; ms:MsClickPtr) : Boolean;
Function CheckForMouseSelect(Frame:ImageStkPtr):MsClickPtr;
Procedure PressSquareButton(fs:ImageStkPtr; ms:MsClickPtr);
Procedure ReleaseSquareButton(fs:ImageStkPtr; ms:MsClickPtr);
Function VisualSquareButtonPress(fs:ImageStkPtr; ms:MsClickPtr) : Boolean;
Procedure DrawSquareButton(x1,y1,x2,y2:Word);
Procedure DefineSquareButtonClick(fs:ImageStkPtr; x,y,x1,y1,rx,ry:Word; button:Pointer; EntryCallProc:callproc);
Procedure ShiftText(x,y,c,s:Word; msg:String);
Procedure DefineSquareButtonText(fs:ImageStkPtr; x,y,x1,y1,rx,ry:Word; msg:string; EntryCallProc:callproc);
Procedure BevelBox(x,y,x1,y1,topcolor,botcolor,interior,thickness : Word);
Procedure BevelBoxfs(fs:imagestkptr; x,y,x1,y1,topcolor,botcolor,interior,thickness : Word);
Procedure DrawLongButton(x,y,ln : Word);
Procedure PutUserButtonClick(fs:ImageStkPtr; x,y:Word; msg:String);
Procedure DefineButtonClick(fs:ImageStkPtr; x,y:Word; button:Pointer; EntryCallProc:callproc);
Procedure DefineLongButtonClick(fs:ImageStkPtr; x,y,ln : Word; msg:String; EntryCallProc:callproc);
Procedure DefineUserButtonClick(fs:ImageStkPtr; x,y:Word; msg:String; EntryCallProc:callproc);
Procedure Beep(tone,n,duration:Integer);
Procedure SlideBeep(tone1,tone2,n:Integer);
Procedure SoundSwitch(OnOff:Boolean);
Procedure FlipAPage;
Procedure FlipVPage;
Procedure SetAPage(pagenum:Word);
Procedure SetVPage(pagenum:Word);
Function VideoPage : byte;
Procedure OutTEGLTextXY(x,y : Integer; mystr : String);
Function CRClickPress : Boolean;
Function CRClickRelease : Boolean;
procedure TEGLInit(videomodename:string; hugeminimum:longint);
Procedure TEGLSupervisor;
IMPLEMENTATION